package main

import (
	"fmt"
	"math/rand"
	"time"
)

//在使用协程的情况下 如果一个管道只写不读，则会阻塞，并不会死锁
func main() {
	intChan := make(chan int32, 10)
	go writeData(intChan)

	time.Sleep(time.Minute)
	// for {
	// 	fmt.Printf("%v \n", <-intChan)
	// }
}

func writeData(intChan chan int32) {
	for {
		num := rand.Int31()
		intChan <- rand.Int31() //写满10个之后，无法继续写入
		fmt.Println("放入数据:", num)
		time.Sleep(500 * time.Millisecond)
	}
}
